package com.xdcplus.web.service.wip;

import com.xdcplus.mp.service.BaseService;
import com.xdcplus.pager.vo.PageVO;
import com.xdcplus.web.common.pojo.entity.WipMarkingElSummary;
import com.xdcplus.web.common.pojo.dto.WipMarkingElSummaryDTO;
import com.xdcplus.web.common.pojo.dto.WipMarkingElSummaryFilterDTO;
import com.xdcplus.web.common.pojo.vo.WipMarkingElSummaryVO;

import java.util.List;


/**
 * (WipMarkingElSummary)表服务接口层
 *
 * @author bullion.yan
 * @since 2024-11-28 18:34:27
 */
public interface WipMarkingElSummaryService extends BaseService<WipMarkingElSummary, WipMarkingElSummary, WipMarkingElSummaryVO> {

    /**
     * 添加(WipMarkingElSummary)
     *
     * @param wipMarkingElSummaryDTO (WipMarkingElSummaryDTO)
     * @return {@link Boolean} 是否成功
     */
    Boolean saveWipMarkingElSummary(WipMarkingElSummaryDTO wipMarkingElSummaryDTO);

    /**
     * 修改(WipMarkingElSummary)
     *
     * @param wipMarkingElSummaryDTO (WipMarkingElSummaryDTO)
     * @return {@link Boolean} 是否成功
     */
    Boolean updateWipMarkingElSummary(WipMarkingElSummaryDTO wipMarkingElSummaryDTO);

    /**
     * 批量保存或更新(WipMarkingElSummary)
     *
     * @param wipMarkingElSummaryList (WipMarkingElSummaryList)
     * @return {@link Boolean} 是否成功
     */
    Boolean saveOrUpdateBatch(List<WipMarkingElSummary> wipMarkingElSummaryList);

    /**
     * 批量保存或更新(WipMarkingElSummaryDTOList)
     *
     * @param wipMarkingElSummaryDTOList (WipMarkingElSummaryDTOList)
     * @return {@link Boolean} 是否成功
     */
    Boolean saveOrUpdateBatchByDTOList(List<WipMarkingElSummaryDTO> wipMarkingElSummaryDTOList);

    /**
     * 删除(WipMarkingElSummary)
     *
     * @param id (WipMarkingElSummary)主键
     * @return {@link Boolean} 是否成功
     */
    Boolean deleteWipMarkingElSummaryLogical(Long id);
    
    Boolean deleteWipMarkingElSummaryByIds(String ids);

    /**
     * 查询(WipMarkingElSummary)
     *
     * @param wipMarkingElSummaryFilterDTO 过程状态过滤DTO
     * @return {@link PageVO<WipMarkingElSummaryVO>} 状态信息
     */
    List<WipMarkingElSummaryVO> queryWipMarkingElSummaryVOList(WipMarkingElSummaryFilterDTO wipMarkingElSummaryFilterDTO);

    /**
     * 查询(WipMarkingElSummary)
     *
     * @param wipMarkingElSummaryFilterDTO 过程状态过滤DTO
     * @return {@link PageVO<WipMarkingElSummaryVO>} 状态信息
     */
    PageVO<WipMarkingElSummaryVO> queryWipMarkingElSummary(WipMarkingElSummaryFilterDTO wipMarkingElSummaryFilterDTO);

    /**
     * 查询一个
     *
     * @param id (WipMarkingElSummary)主键
     * @return {@link WipMarkingElSummaryVO} (WipMarkingElSummary)信息
     */
    WipMarkingElSummaryVO queryWipMarkingElSummaryById(Long id);

    /**
     * 根据标签ID查询
     * @param markingId
     * @return
     */
    List<WipMarkingElSummaryVO> queryByMarkingIdAndReportType(Long markingId,String reportType);
}
